package com.example.a10928.weifriend;

/**
 * Created by Chuang on 2018/2/24.
 * 存放各种单例
 */

import android.content.Context;


import com.example.a10928.weifriend.data.User;
import com.example.a10928.weifriend.data.pref.DefaultPrefManager;
import com.example.a10928.weifriend.data.pref.UserPerfManager;
import com.example.a10928.weifriend.http.AppModule;
import com.example.a10928.weifriend.http.api.BpService;
import com.google.gson.Gson;

import javax.inject.Named;

import dagger.Component;
import okhttp3.OkHttpClient;

@AppScope
@Component(modules = AppModule.class)
public interface AppComponent {

    Context getContext();

    OkHttpClient getOkHttpClient();

    Gson getGson();

    BpService getBpService();

    @Named(BpService.ASYNC)
    BpService getAsyncBpService();

    @Named(BpService.IO)
    BpService getIoBpService();

    User getUser();

    DefaultPrefManager getDefaultPrefManager();

    UserPerfManager getUserPerfManager();

}
